tagged by: パーサジェネレータ
Hello Antlr(Antlr入門)
HelloSablecc(Sablecc入門)を試した後、Java向けの別のコンパイラコンパイラであるAntlrも試してみたくなりました。前回と同様に、これは非常に単純な「hello world」スタイルの文法でAntlrを動かすことについてです。
Hello Cup(Cup入門)
外部ドメイン特化言語用のパーサジェネレータツールを調べている中で、HelloAntlr(Antlr入門)とHelloSablecc(Sablecc入門)を試しました。パーサジェネレータについて調べていると、古くからある定番のlexとyacc(またはGNU版のflexとbison)を避けて通ることはできません。lexとyaccの動作を調べてみたいのですが、私のC言語の知識は錆び付いてしまいました。Erich Gamma(エリック・ガンマ)が冗談めかして言ったように、私は自分のゴミを出すのが面倒くさくなってしまいました。幸いなことに、Java向けのyacc風システムの実装があり、まさに私が必要としているものです。
Hello Racc(Racc入門)
HelloCup(Cup入門)を書いたとき、ダーティポインタを扱う必要のない言語でyaccベースのパーサを探していました。もう一つの選択肢はRubyで、今では標準ライブラリにyacc風のパーサが組み込まれています。当然raccと呼ばれています。
Hello Sablecc(Sablecc入門)
最近、SableCCを少し試してみました。「Hello World」スタイルのパーサを動かすのに少し苦労したので、どのようにして動作させたかについてのメモをここに残しておこうと思いました。これが最良の方法だとは言いませんが、試してみたい方の参考になれば幸いです。